package com.nuanshui.heatedloan.baseservice.dal.mapper;

import com.nuanshui.heatedloan.baseservice.form.WeexVersionForm;
import com.nuanshui.heatedloan.baseservice.vo.WeexVersionVO;
import com.nuanshui.heatedloan.pageable.Pager;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WeexVersionMapper {
	
	/**
	 * 获取一个
	 * @author Gonzo
	 * @date 2017年1月3日下午7:27:18
	 * @param id
	 * @since 1.0.0
	 */
    WeexVersionVO loadVO(String id);
	
	/**
	 * 保存一个
	 * @author Gonzo
	 * @date 2017年1月3日下午7:26:37
	 * @param form
	 * @since 1.0.0
	 */
    void save(WeexVersionForm form);
	
	/**
	 * 获取所有的
	 * @author Gonzo
	 * @date 2017年1月3日下午7:26:32
	 * @return
	 * @since 1.0.0
	 */
    List<WeexVersionVO> list(@Param("pager") Pager<WeexVersionVO> pager);
	
	/**
	 * 置为存档
	 * @author Gonzo
	 * @date 2017年1月3日下午7:26:27
	 * @param id
	 * @since 1.0.0
	 */
    void delete(@Param("id") String id);
	
	/**
	 * 改变状态
	 * @author Gonzo
	 * @date 2017年1月3日下午7:26:18
	 * @param id
	 * @param status
	 * @since 1.0.0
	 */
    void changeStatus(@Param("id") String id, @Param("status") Integer status);
	
	/**
	 * 获取weex版本对应的android或者ios版本
	 * @author Gonzo
	 * @date 2017年1月3日下午8:25:59
	 * @param id
	 * @since 1.0.0
	 */
    List<String> findWeexClientNativeVersionByWeexVersionId(@Param("id") String id, @Param("client") int client);
	
	/**
	 *	保存当前weex版本对应的client版本号
	 * @author Gonzo
	 * @date 2017年1月4日下午9:02:33
	 * @param id
	 * @param str
	 * @param android
	 * @since 1.0.0
	 */
    void saveWeexClientNativeVersion(@Param("weexVersionId") String weexVersionId, @Param("clientVersion") String clientVersion, @Param("type") int type);
	
	/**
	 * 根据客户端的原生版本，和客户端类型，查找weex版本
	 * @author Gonzo
	 * @date 2017年1月5日下午7:08:07
	 * @param nativeVersionCode
	 * @param jsVersionCode
	 * @param platForm
	 * @return
	 * @since 1.0.0
	 */
    List<WeexVersionVO> loadWeexVersionByClientInfo(@Param("clientVersion") String clientVersion, @Param("type") Integer type);
	
    /**
	 * 获取最新的 weex 版本
     * @Author: Gonzo
     * @Date 2017/5/8下午6:53
     * @since 1.4.2
     */
    WeexVersionVO loadLatestWeexVersion(Integer type);
}
